Traitement des données avec Python

Nous avons modélisé la table du DNS par un dictionnaire. Le programme demande à l'utilisateur d'entrer une adresse ip ou un nom de domaine. Si c'est un nom de domaine, on retrouve l'adresse ip correspondante dans le dictionnaire. À partir de l'adresse ip, on donne l'adresse réseau (net id) et l'adresse de la machine (host id).

1. Complétez la fonction est_ip qui vérifie si la chaîne de caractères passée en paramètre est une adresse IPV4 et renvoie vrai ou faux.

def est_ipv4(ad):

    ad = ad.split('.')

    if ...................................:

        return False

    for a in ad:

        if .............................................:

            return ............

    return .............

dns = {"www.qwant.fr":"217.70.184.56", "www.fdj.fr":"194.4.208.20",

       "www.monlycee.fr":"213.186.33.19"}

route_vers = input("ping ")

if not est_ipv4(route_vers):

    route_vers = dns.get(route_vers)

print("La route pour aller vers ", route_vers)


2. Complétez la fonction net_id qui prend en paramètre l'adresse IP et le masque de sous réseau et qui renvoie l'adresse réseau.

def net_id(adresse, masque):

    netid = [0]*4

    ad = adresse.split('.')

    ma = ..................................

    for i in range(4):

        netid[i] = ..............................................

    netid = '.'.join(netid)

    return ......................

masque = "255.255.0.0"

netid = net_id(route_vers, masque)

print("Adresse réseau : ", netid)


3. Réalisez la fonction host_id qui renvoie l'adresse de la machine.

hostid = host_id(route_vers, masque)

print("Adresse machine : ", hostid)

Source : https://lesmanuelslibres.region-academique-idf.fr
Télécharger le manuel : https://forge.apps.education.fr/drane-ile-de-france/les-manuels-libres/snt-seconde ou directement le fichier ZIP
Sous réserve des droits de propriété intellectuelle de tiers, les contenus de ce site sont proposés dans le cadre du droit Français sous licence CC BY-NC-SA 4.0